<!--$Id: db_set_re_len.so,v 10.40 2004/09/28 15:04:19 bostic Exp $-->
<!--Copyright (c) 1997,2008 Oracle.  All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: Db::set_re_len</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++">
</head>
<body bgcolor=white>
<table width="100%"><tr valign=top>
<td>
<b>Db::set_re_len</b>
</td>
<td align=right>
<a href="../api_cxx/api_core.html"><img src="../images/api.gif" alt="API"></a>
<a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a></td>
</tr></table>
<hr size=1 noshade>
<tt>
<b><pre>
#include &lt;db_cxx.h&gt;
<p>
int
Db::set_re_len(u_int32_t re_len);
<p>
int
Db::get_re_len(u_int32_t *re_lenp);
</pre></b>
<hr size=1 noshade>
<b>Description: Db::set_re_len</b>
<p>For the Queue access method, specify that the records are of length
<b>re_len</b>.  For the Queue access method, the record length must be
enough smaller than the database's page size that at least one record
plus the database page's metadata information can fit on each database
page.</p>
<p>For the Recno access method, specify that the records are fixed-length,
not byte-delimited, and are of length <b>re_len</b>.</p>
<p>Any records added to the database that are less than <b>re_len</b> bytes
long are automatically padded (see <a href="../api_cxx/db_set_re_pad.html">Db::set_re_pad</a> for more
information).</p>
<p>Any attempt to insert records into the database that are greater than
<b>re_len</b> bytes long will cause the call to fail immediately and
return an error.</p>
<p>The Db::set_re_len method configures a database, not only operations performed
using the specified <a href="../api_cxx/db_class.html">Db</a> handle.</p>
<p>The Db::set_re_len method may not be called after the <a href="../api_cxx/db_open.html">Db::open</a> method is called.
If the database already exists when
<a href="../api_cxx/db_open.html">Db::open</a> is called, the information specified to Db::set_re_len will
be ignored.
</p>
<p>The Db::set_re_len method
either returns a non-zero error value
or throws an exception that encapsulates a non-zero error value on
failure, and returns 0 on success.
</p>
<b>Parameters</b> <br>
 <b>re_len</b><ul compact><li>The <b>re_len</b> parameter is the length of a Queue or Recno database
record, in bytes.</ul>
<br>
<br><b>Errors</b>
<p>The Db::set_re_len method
may fail and throw
<a href="../api_cxx/except_class.html">DbException</a>,
encapsulating one of the following non-zero errors, or return one of
the following non-zero errors:</p>
<br>
<b>EINVAL</b><ul compact><li>If the method was called after <a href="../api_cxx/db_open.html">Db::open</a> was called; or if an
invalid flag value or parameter was specified.</ul>
<br>
<hr size=1 noshade>
<b>Description: Db::get_re_len</b>
<p>The Db::get_re_len method returns the record length.</p>
<p>The Db::get_re_len method may be called at any time during the life of the
application.</p>
<p>The Db::get_re_len method
either returns a non-zero error value
or throws an exception that encapsulates a non-zero error value on
failure, and returns 0 on success.
</p>
<b>Parameters</b> <br>
 <b>re_lenp</b><ul compact><li>The Db::get_re_len method returns  the
record length in <b>re_lenp</b>.</ul>
<br>
<hr size=1 noshade>
<br><b>Class</b>
<a href="../api_cxx/db_class.html">Db</a>
<br><b>See Also</b>
<a href="../api_cxx/db_list.html">Databases and Related Methods</a>
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<a href="../api_cxx/api_core.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1>Copyright (c) 1996,2008 Oracle.  All rights reserved.</font>
</body>
</html>
